import Mock, { Random } from 'mockjs'
import qs from 'qs'
// mock的配置
Mock.setup({
  // 随机延时500-1000毫秒
  timeout: '500-1000'
})
// 拦截请求，
// 第一个参数：url，使用正则去匹配
// 第二个参数：请求方式
// 第三个参数： 生成数据的函数
Mock.mock(/\/my\/test/, 'get', () => {
  return {
    msg: '请求测试接口成功',
    code: 200,
    result: [{
      id: Random.id(),
      name: Random.ctitle(3, 5),
      desc: Random.ctitle(4, 6),
      price: Random.float(60, 100, 3, 5),
      picture: Random.image('200x100')
    }]
  }
})

// 模拟正式接口
/* Mock.mock(/\/member\/collect/, 'get', () => {
  return {
    msg: '操作成功',
    result: {
      counts: 100,
      pageSize: 5,
      pages: 20,
      page: 1,
      items: {
        id: Random.id(),
        name: Random.ctitle(10, 15),
        description: Random.ctitle(20, 30),
        picture: Random.image('200x100'),
        collectType: Random.integer(1, 3),
        price: Random.float(10, 300, 3, 2),
        discount: Random.float(5, 20, 2, 2),
        productionPlace: Random.city(),
        detailsUrl: Random.url()
      }
    }
  }
}) */
// 升级模拟正式收藏接口- 数据模板定义
Mock.mock(/\/member\/collect/, 'get', ({ url }) => {
  // GET 请求参数从 url 中提取，请求体中的数据可以在 body 参数中提取
  // console.log(url)
  const queryString = url.split('?')[1]
  // console.log(queryString)
  // qs.parse 可以把字符串转换为对象
  const { page, pageSize } = qs.parse(queryString)
  // 🔔 Mock.mock({})  内部支持数据模板定义
  return Mock.mock({
    msg: '操作成功',
    result: {
      counts: 35,
      pageSize: Number(pageSize),
      pages: 4,
      page: Number(page),
      // 数据模板定义
      ['items|' + pageSize]: [
        {
          id: '@id()',
          name: '@ctitle(10, 15)',
          description: '@ctitle(20, 25)',
          picture: "@dataImage('200x200')",
          collectType: '@integer(1, 3)',
          price: '@float(1, 500, 2, 2)',
          discount: '@float(0, 1, 1, 1)',
          productionPlace: '@province()',
          detailsUrl: '@url()'
        }
      ]
    }
  })
})
